home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .ss.
- ; `²²'
- ; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
- ; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
- ; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
- ; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
- ; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
- ; .sS²°$$$²²°"' d²°'
- ; .$$² .$$'
- ; $$$.,d$$'
- ; `²S$$S²'
- ;------------------------------------------------------------------------------
- ; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
- ;------------------------------------------------------------------------------
- ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean BOOLEAN001
- Boolean BOOLEAN002
- String STRING001
- String STRING002
- String STRING003
- String STRING004
- String STRING005
- String STRING006
- String STRING007
- String STRING008
- String STRING009
- String TSTRING010(23)
- String STRING011
- String STRING012
- Byte BYTE001
- Byte BYTE002
- Byte BYTE003
-
- ;------------------------------------------------------------------------------
-
- STRING001 = PPEPath() + "flagnuke.cfg"
- If (Exist(STRING001)) Goto LABEL001
- FreshLine
- PrintLn "Error: Flag.ppe is setup to use NUKE.PPE but cannot"
- PrintLn "find FLAGNUKE.CFG, please contact sysop"
- End
- :LABEL001
- STRING002 = ReadLine(STRING001, 1) + "\work\bcnk" + String(CurConf()) + "." + String(PcbNode())
- If (AnsiOn()) Goto LABEL002
- DispFile PPEPath() + "FLAGOLD", 4
- End
- :LABEL002
- STRING006 = Chr(8)
- STRING007 = Chr(127)
- STRING008 = Chr(13)
- STRING009 = Chr(27)
- BYTE001 = 0
- STRING004 = ""
- RestScrn
- ClrEol
- Gosub LABEL013
- Gosub LABEL017
- :LABEL003
- If (BOOLEAN001) Goto LABEL010
- STRING005 = Inkey()
- If (STRING005 <> "") Then
- If ((BYTE001 == 0) && (STRING005 == " ")) Then
- BYTE002 = GetY()
- BYTE003 = 0
- Print STRING008
- ClrEol
- Print STRING009 + "[s"
- DispFile PPEPath() + "FLAGBAR", 1 + 4
- Print STRING008
- Gosub LABEL014
- If (STRING011 <> "") Then
- While ((((STRING005 <> STRING009) && (STRING005 <> STRING008)) && (Upper(STRING005) <> "V")) && (Upper(STRING005) <> "N")) Do
- STRING005 = Inkey()
- If (STRING005 == " ") Then
- Gosub LABEL016
- Gosub LABEL014
- If (STRING011 == "") Then
- Gosub LABEL012
- Gosub LABEL013
- Goto LABEL009
- Endif
- Endif
- EndWhile
- Gosub LABEL016
- Gosub LABEL012
- If (STRING005 == STRING008) Then
- KbdStuff "F " + STRING011 + STRING008
- End
- Goto LABEL005
- Endif
- If (Upper(STRING005) == "V") Then
- SaveScrn
- KbdStuff "V " + STRING011 + STRING008
- End
- Goto LABEL005
- Endif
- If (Upper(STRING005) == "N") Then
- SaveScrn
- FClose -1
- If (Upper(ReadLine(STRING002, 1)) <> U_Name()) Then
- Delete STRING002
- FAppend 1, STRING002, 1, 0
- FPutLn 1, U_Name()
- Goto LABEL004
- Endif
- FAppend 1, STRING002, 1, 0
- :LABEL004
- STRING003 = String(PCBMac("@DIRNUM@"))
- If (STRING003 == "") Then
- STRING003 = String(PCBMac("@NUMDIR@"))
- Endif
- If (STRING011 <> "") FPutLn 1, STRING011 + " " + STRING003
- FClose 1
- PrintLn "@X0CFile targetted for nuking...."
- Delay 20
- RestScrn
- Endif
- :LABEL005
- Goto LABEL006
- Endif
- Gosub LABEL012
- :LABEL006
- Gosub LABEL013
- Goto LABEL009
- Goto LABEL008
- Endif
- If ((STRING005 == STRING006) || (STRING005 == STRING007)) Then
- If (BYTE001 > 0) Then
- Print STRING006 + " "
- BYTE001 = BYTE001 - 1
- STRING004 = Left(STRING004, BYTE001)
- Goto LABEL007
- Endif
- Goto LABEL009
- :LABEL007
- Goto LABEL008
- Endif
- If (STRING005 == STRING008) Then
- BOOLEAN001 = 1
- Goto LABEL008
- Endif
- If ((Len(STRING005) > 1) || (STRING005 < " ")) Then
- Goto LABEL009
- Goto LABEL008
- Endif
- If ((BYTE001 == 0) && ((STRING005 == "?") || (Upper(STRING005) == "H"))) Then
- SaveScrn
- Newline
- DispFile PPEPath() + "FLAGHLP", 1 + 4
- Newline
- Wait
- RestScrn
- Goto LABEL009
- Goto LABEL008
- Endif
- If ((STRING005 >= " ") && (BYTE001 < 80)) Then
- STRING004 = STRING004 + STRING005
- BYTE001 = BYTE001 + 1
- Endif
- :LABEL008
- Print STRING005
- Endif
- :LABEL009
- Goto LABEL003
- :LABEL010
- STRING004 = RTrim(STRING004, " ")
- If (Upper(Left(STRING004, 1)) == "V") Then
- If (Len(STRING004) == 1) Then
- ClrEol
- STRING011 = ""
- PromptStr 240, STRING011, 12, Mask_File(), 2
- STRING011 = RTrim(STRING011, " ")
- If (Len(STRING011) == 0) Then
- ClrEol
- KbdStuff STRING008
- End
- Endif
- Newline
- STRING004 = "V " + STRING011
- SaveScrn
- Goto LABEL011
- Endif
- If (Len(STRING004) >= 3) Then
- ClrEol
- SaveScrn
- Goto LABEL011
- Endif
- KbdStuff STRING008
- End
- Endif
- :LABEL011
- KbdStuff STRING004 + STRING008
- End
- :LABEL012
- Print STRING009 + "[u"
- ClrEol
- Return
- :LABEL013
- DispFile PPEPath() + "FLAGNEW", 4
- DefColor
- Return
- :LABEL014
- If (BOOLEAN002) Then
- BYTE003 = 0
- STRING005 = ""
- While (BYTE003 == 0) Do
- STRING005 = Inkey()
- BYTE003 = Asc(STRING005)
- If ((BYTE003 >= 129) && (BYTE003 <= 151)) Then
- BYTE003 = BYTE003 - 128
- If (TSTRING010(BYTE003) <> "") Then
- Gosub LABEL015
- STRING011 = TSTRING010(BYTE003)
- Return
- Continue
- Endif
- BYTE003 = 0
- Endif
- EndWhile
- Else
- While (BYTE003 < BYTE002) Do
- BYTE003 = BYTE003 + 1
- If (TSTRING010(BYTE003) <> "") Then
- Gosub LABEL015
- STRING011 = TSTRING010(BYTE003)
- Return
- Endif
- EndWhile
- Endif
- STRING011 = ""
- Return
- :LABEL015
- Print STRING009 + "[u" + STRING009 + "[" + String(BYTE002 - BYTE003) + "A"
- STRING012 = ScrText(1, BYTE003, 13, 1)
- Color 112
- Print TSTRING010(BYTE003) + STRING008
- Return
- :LABEL016
- Print STRING012 + STRING008
- Return
- :LABEL017
- If (GrafMode() == "R") Then
- BOOLEAN002 = 1
- Endif
- BYTE003 = 1
- While (BYTE003 > 0) Do
- ScrFile BYTE003, STRING011
- If (BYTE003 <> 0) Then
- TSTRING010(BYTE003) = STRING011
- If (BOOLEAN002) Then
- MouseReg 0, 1, BYTE003, 13, BYTE003 + 1, 8, 8, 1, 0, " " + Chr(BYTE003 + 128)
- Endif
- Inc BYTE003
- Endif
- EndWhile
- If (BOOLEAN002) Then
- MPrint "!|#|#|#" + STRING008 + Chr(10)
- Endif
- Return
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 7 End
- ; 6 ClrEol
- ; 1 Wait
- ; 1 Color
- ; 59 Goto
- ; 37 Let
- ; 9 Print
- ; 3 PrintLn
- ; 36 If
- ; 4 DispFile
- ; 2 FAppend
- ; 2 FClose
- ; 2 FPutLn
- ; 1 DefColor
- ; 1 Delete
- ; 13 Gosub
- ; 8 Return
- ; 1 PromptStr
- ; 1 Delay
- ; 1 Inc
- ; 3 Newline
- ; 5 KbdStuff
- ; 1 FreshLine
- ; 5 SaveScrn
- ; 3 RestScrn
- ; 1 MPrint
- ; 1 MouseReg
- ; 1 ScrFile
- ;
- ;
- ; ■ Functions used :
- ;
- ; 1 -
- ; 37 +
- ; 3 -
- ; 19 ==
- ; 11 <>
- ; 3 <
- ; 1 <=
- ; 3 >
- ; 3 >=
- ; 35 !
- ; 7 &&
- ; 3 ||
- ; 4 Len(
- ; 7 Upper()
- ; 2 Left()
- ; 6 Chr()
- ; 1 Asc()
- ; 2 RTrim()
- ; 2 U_Name()
- ; 3 Inkey()
- ; 5 String()
- ; 1 Mask_File()
- ; 1 CurConf()
- ; 5 PPEPath()
- ; 1 PcbNode()
- ; 2 ReadLine()
- ; 1 Exist()
- ; 1 AnsiOn()
- ; 1 GetY()
- ; 1 GrafMode()
- ; 1 ScrText()
- ; 2 PCBMac()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : M
- ;
- ; M - Send text to modem only ■ 4
- ; Some informations are sent only to the modem, not to the local
- ; screen, this is a well known way to make stealth backdoors, Check!
- ; ■ Search for : SENDMODEM, MPRINT, MPRINTLN
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 0 For/Next
- ; 4 While/EndWhile
- ; 28 If/Then or If/Then/Else
- ; 0 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-